home *** CD-ROM | disk | FTP | other *** search
/ Freesoft 1997 May / Freesoft_1997-05_cd.bin / inzer / minolta / drivers / WL400 / W3.1 disk 1 / DIALOGS.IN_ / DIALOGS.IN
Text File  |  1994-12-06  |  15KB  |  517 lines

  1. CONST APPHELP = 900
  2. CONST ASKQUIT = 200
  3. CONST AUTOMATIC_INSTALL = 2100
  4. CONST BB_MAILMAN = 5800
  5. CONST BUILDING_FILES = 800
  6. CONST CANT_DELETE_AUTO = 5700
  7. CONST CONFIG_PAGE = 2300
  8. CONST CONTROLS = 2500
  9. CONST CONTROLS_EGA = 2501
  10. CONST CUSTOM_INSTALL = 1100
  11. CONST ENABLE_PM = 100
  12. CONST EXITFAILURE = 400
  13. CONST EXITSUCCESS = 700
  14. CONST EXPLAIN_PAGE = 3000
  15. CONST FNTSLIDER_DLG = 1200
  16. CONST FONT_SELECTION = 1300
  17. CONST IGNORE_REDIRECT = 6900
  18. CONST INCOMPAT_CART = 6700
  19. CONST INCOMPAT_DRIVER = 6600
  20. CONST INCOMPAT_EXIT = 6800
  21. CONST INFO_REQUIRED = 7700
  22. CONST INSTALL_COMPLETE = 2600
  23. CONST INSTALL_METHOD = 1500
  24. CONST INSTALL_NOTHING = 300
  25. CONST INSTALL_NO_DRIVER = 1700
  26. CONST INVALID_VERSION_CODE = 6000
  27. CONST JUMBO_CONNECTION = 1800
  28. CONST JUMBO_WAITING = 600
  29. CONST NO_CONFIG_PAGE = 2800
  30. CONST NO_LOCAL_PRINTER = 2000
  31. CONST NO_SPACE = 1600
  32. CONST PRINTER_CONFIG = 2400
  33. CONST PRINTER_LIST_EMPTY = 6300
  34. CONST PRINT_PORT_SELECT = 2200
  35. CONST REBOOT_NO_TTE = 1900
  36. CONST RESTART_TRUETYPE = 5900
  37. CONST UPDATE_CART = 6500
  38. CONST UPDATE_DRIVER = 6400
  39. CONST USE_VERSION = 6200
  40. CONST VERIFY = 3100
  41. CONST WELCOME1 = 1000
  42. CONST HELP_ASKQUIT = 7200
  43. CONST HELP_CDCONFIRMINFO = 8100
  44. CONST HELP_CDGETNAMEORG = 7900
  45. CONST HELP_COMM_ERROR = 5300
  46. CONST HELP_CONFIG_PAGE = 5200
  47. CONST HELP_CONFIRM_NC = 4000
  48. CONST HELP_CUSTOM_INST = 4600
  49. CONST HELP_ENABLE_PM = 4900
  50. CONST HELP_EXITFAILURE = 6200
  51. CONST HELP_EXITSUCCESS = 7000
  52. CONST HELP_FONTS_SELECT = 4700
  53. CONST HELP_IGNORE_REDIRECT = 8300
  54. CONST HELP_INCOMPAT_CART = 8500
  55. CONST HELP_INCOMPAT_DRIVER = 8400
  56. CONST HELP_INCOMPAT_EXIT = 8800
  57. CONST HELP_INFO_REQUIRED = 8200
  58. CONST HELP_INSTALL_PRINTERS = 5500
  59. CONST HELP_INST_METHOD = 4500
  60. CONST HELP_INVALID_VERSION_CODE = 9000
  61. CONST HELP_LEGAL = 3600
  62. CONST HELP_MANUAL_CONFIG = 5400
  63. CONST HELP_NOACTION = 3900
  64. CONST HELP_NOSPACE = 4100
  65. CONST HELP_NOTT = 3200
  66. CONST HELP_NO_DELETE = 5100
  67. CONST HELP_NO_DRIVER = 4800
  68. CONST HELP_NO_LOCAL = 4300
  69. CONST HELP_PORT_SEARCH = 5000
  70. CONST HELP_PORT_SELECT = 4400
  71. CONST HELP_PRINTER_LIST_EMPTY = 8900
  72. CONST HELP_RESTART_TRUETYPE = 9100
  73. CONST HELP_RESTARTWIN = 3300
  74. CONST HELP_WELCOME = 3400
  75. CONST HELP_VERIFY = 7800
  76. CONST HELP_UPDATE_CART = 8600
  77. CONST HELP_UPDATE_DRIVER = 8700
  78. CONST ENHANCED_MODE_REQUIRED = 8000
  79. CONST HELP_ENHANCED_MODE_REQUIRED = 9300
  80. CONST FALSE = 0
  81. CONST TRUE = 1
  82. CONST WM_FONTCHANGE = &H001D
  83. CONST WM_WININICHANGE = &H001A
  84. CONST WM_SYSCOMMAND% = 274
  85. CONST SC_MAXIMIZE% = 61488
  86. CONST YES% = 6
  87. CONST NO% = 7
  88. CONST DEFAULT_COMPAT$ = "10106"
  89. CONST DEFAULT_VERSION$ = "10"
  90. CONST DEFAULT_RH$ = "10"
  91. CONST DEFAULT_NAME$ = "WinLaser 400"
  92. CONST PCLFP$ = "wpslafp.exe"
  93. CONST iYES% = 1
  94. CONST iNO% = 0
  95. CONST iOK% = 1
  96. CONST iSTOP% = 0
  97. CONST iON% = 1
  98. CONST iOFF% = 0
  99. CONST dwNULL& = 0
  100. CONST iNULL% = 0
  101. CONST DRIVERFILES = 1
  102. CONST SOUNDFILES = 2
  103. CONST FONTFILES = 3
  104. CONST REQUIREDPOS = 4
  105. CONST AVAILPOS = 5
  106. CONST EXIT_SELECT_STUFF = 0
  107. CONST METHOD_SELECT = 1
  108. CONST CUSTOM_SELECT = 3
  109. CONST PRINTER_SOURCE = 9
  110. CONST CHOOSE_CONNECT = 10
  111. CONST PRINT_PORT_SLT = 11
  112. CONST PRINTER_INFO = 13
  113. CONST AUTO_INSTALL = 12
  114. CONST MAX_COMPONENT = 3
  115. CONST MAX_PRINTER = 16
  116. CONST MAXPATH = 256
  117. CONST MAX_STACK_ITEM = 20
  118. CONST iMB_RETRYCANCEL% = 5
  119. CONST iMB_OKCANCEL% = 1
  120. CONST iMB_OK% = 0
  121. CONST iIDCANCEL% = 2
  122. CONST iSW_MAXIMIZE% = 3
  123. GLOBAL iStatus%
  124. GLOBAL WinDrive$
  125. GLOBAL WinDir$
  126. GLOBAL WinSysDir$
  127. GLOBAL WinSysDrive$
  128. GLOBAL SrcDir$
  129. GLOBAL TestPageDir$
  130. GLOBAL CursorSave%
  131. GLOBAL PortAdding$
  132. GLOBAL InstallPM%
  133. GLOBAL InstallSpeaker%
  134. GLOBAL IniKeySpooler%
  135. GLOBAL DriverSize&
  136. GLOBAL SoundSize&
  137. GLOBAL DiskSpaceFree&
  138. GLOBAL TotalInstallSize&
  139. GLOBAL TotalFontSize&
  140. GLOBAL PrinterAddingIndex%
  141. TYPE pDWsize
  142. size AS Long
  143. END TYPE
  144. GLOBAL lpwNetSize AS pDWsize
  145. GLOBAL iStepStack(MAX_STACK_ITEM) AS INTEGER
  146. GLOBAL iTopItem%
  147. GLOBAL iStep%
  148. GLOBAL nDrive%
  149. GLOBAL ClusterByte&
  150. GLOBAL dwComponentSize(MAX_COMPONENT) AS LONG
  151. GLOBAL dwSaveComponentSize(MAX_COMPONENT) AS LONG
  152. DECLARE FUNCTION GetTempFileName LIB "kernel" (a%,b$,c%,d$) AS INTEGER
  153. DECLARE FUNCTION GetProfileInt LIB "kernel" (a$,b$,c%) AS INTEGER
  154. DECLARE FUNCTION WinExec LIB "kernel" (a$, b%) AS INTEGER
  155. DECLARE FUNCTION SetErrorMode LIB "kernel" (a%) AS INTEGER
  156. DECLARE FUNCTION GetPrivateProfileString LIB "kernel" (a$,b$,c$,d$,e%,f$) AS INTEGER
  157. DECLARE FUNCTION CloseComm LIB "user" (a%) AS INTEGER
  158. DECLARE FUNCTION GetAsyncKeyState LIB "user" (a%) AS INTEGER
  159. DECLARE FUNCTION ExitWindowsExec LIB "user" (a$, b$) AS INTEGER
  160. DECLARE FUNCTION OpenComm LIB "user" (a$,b%,c%) AS INTEGER
  161. DECLARE FUNCTION PostMessage LIB "user" (a%,b%,c%,d$) AS INTEGER
  162. DECLARE FUNCTION SendMessage LIB "user" (a%,b%,c%,d$) AS INTEGER
  163. DECLARE FUNCTION SendDlgItemMessage LIB "user" (a%,b%,c%,d%,e&) AS INTEGER
  164. DECLARE FUNCTION WNetConnectionDialog LIB "user" (a%,b%) AS INTEGER
  165. DECLARE FUNCTION WNetConnectDialog LIB "user" (a%,b%) AS INTEGER
  166. DECLARE FUNCTION WNetGetConnection LIB "user" (a$,b$,c AS ANY) AS INTEGER
  167. DECLARE FUNCTION WNetGetCaps LIB "user" (a%) AS INTEGER
  168. DECLARE FUNCTION AddFontResource LIB "gdi" (a$) AS INTEGER
  169. DECLARE SUB DebugText LIB "mscuistf.dll" (a$)
  170. DECLARE SUB FCleanupFontDialog LIB "mscuistf.dll" ()
  171. DECLARE SUB FEnableControls LIB "mscuistf.dll" (a%)
  172. DECLARE SUB FInitAutoDialog LIB "mscuistf.dll" ()
  173. DECLARE SUB FInitInfoDialog LIB "mscuistf.dll" ()
  174. DECLARE SUB FInitInfo0Dialog LIB "mscuistf.dll" ()
  175. DECLARE SUB FInitMultiDialog LIB "mscuistf.dll" ()
  176. DECLARE SUB FixINFIniFiles LIB "mscuistf.dll" (a$, b$, c$)
  177. DECLARE SUB FixPrinterIniFiles LIB "mscuistf.dll" (a%)
  178. DECLARE FUNCTION DWGetSpaceCost LIB "mscuistf.dll" (i%,j&,a$,b$) as long
  179. DECLARE SUB FInitInstallMethodDialog LIB "mscuistf.dll" (a$, b&)
  180. DECLARE SUB FInitVersionDialog LIB "mscuistf.dll" (a$, b$)
  181. DECLARE SUB FRemoveValFromIniKey LIB "mscuistf.dll" (a$, b$, c$, d$)
  182. DECLARE SUB InitPrinterConfigDlg LIB "mscuistf.dll" (a%)
  183. DECLARE FUNCTION PrinterSetup LIB "mscuistf.dll" (a%,b%) AS INTEGER
  184. DECLARE FUNCTION FileToComm LIB "mscuistf.dll" (szFile$, szComm$, w%)
  185. DECLARE FUNCTION DiskClusterUnit LIB "mscuistf.dll" (a%)
  186. DECLARE FUNCTION GetPrinterNum LIB "mscuistf.dll" (a$) AS INTEGER
  187. DECLARE FUNCTION FarGetPortAddr LIB "wpscom.dll" (a%) AS INTEGER
  188. DECLARE FUNCTION SafeCreateFOT LIB "fontname.dll" (a%,b$,c$,d$) AS INTEGER
  189. DECLARE FUNCTION GetFontFacename LIB "fontname.dll" (a$,b$,c%) AS INTEGER
  190. DECLARE SUB DlgInstallNoSpace
  191. DECLARE FUNCTION DlgInstallNoDriver() AS INTEGER
  192. DECLARE FUNCTION DlgPrintPage() AS INTEGER
  193. DECLARE FUNCTION DlgNoPrintMgr() AS INTEGER
  194. DECLARE SUB DlgInvalidVersionCode
  195. DECLARE SUB DoInCompatQuit
  196. DECLARE SUB DoAskQuit
  197. DECLARE SUB Box (a$, b$)
  198. DECLARE SUB InfoDlgOneButton(szText$, idDlg%, idHelpDlg%)
  199. DECLARE SUB InfoDlgAOneButton(szText$, idDlg%, idHelpDlg%)
  200. DECLARE SUB ToggleCheckStatus (a$, b%)
  201. DECLARE SUB SetSpaceStatus
  202. DECLARE SUB DeleteDir(szDir$)
  203. DECLARE FUNCTION GetTempDirName AS STRING
  204. DECLARE FUNCTION InvalidVersionCode(lCode as LONG) AS INTEGER
  205. DECLARE FUNCTION SumNumericList (List$, first%, last%) AS LONG
  206. DECLARE SUB CleanUp
  207. DECLARE FUNCTION itoa (a&) AS STRING
  208. DECLARE FUNCTION DollarFormat (a&) AS STRING
  209. DECLARE SUB ResetStepStack
  210. DECLARE FUNCTION PushStep(a%, b%) AS INTEGER
  211. DECLARE FUNCTION PopStep() AS INTEGER
  212. SUB DlgInstallNoSpace STATIC
  213. DIM bDoInstallNoSpace%
  214. bDoInstallNoSpace = TRUE
  215. WHILE bDoInstallNoSpace
  216. FInitInfoDialog
  217. sz$ = UIStartDlg(DLL_CUIDLL$, NO_SPACE, "FInfoDlgProc", HELP_NOSPACE, "FHelpDlgProc")
  218. IF (sz$ = BTN_BACK$) OR (sz$ = BTN_CUSTOM$) OR (sz$ = BTN_CANCEL$) THEN
  219. UIPop 1
  220. bDoInstallNoSpace = FALSE
  221. ELSEIF sz$ = BTN_FILEMGR$ THEN
  222. i% = WinExec("winfile.exe", iSW_MAXIMIZE%)
  223. IF i% < 32 THEN
  224. sz$ = MSG_FILEMGR1$ + MSG_FILEMGR2$ + MSG_FILEMGR3$
  225. i% = DoMsgBox(sz$, MSG_FMTITLE$, 48)
  226. END IF
  227. ELSEIF sz$ = BTN_EXIT$ THEN
  228. DoAskQuit
  229. END IF
  230. WEND
  231. sz$ = ""
  232. END SUB
  233. FUNCTION DlgInstallNoDriver() STATIC AS INTEGER
  234. DIM bDoInstallNoDriver%
  235. bDoInstallNoDriver = TRUE
  236. WHILE bDoInstallNoDriver
  237. FInitInfoDialog
  238. sz$ = UIStartDlg(DLL_CUIDLL$, INSTALL_NO_DRIVER, "FInfoDlgProc", HELP_NO_DRIVER, "FHelpDlgProc")
  239. IF sz$ = BTN_CONTINUE$ THEN
  240. UIPop 1
  241. DlgInstallNoDriver = iYES%
  242. bDoInstallNoDriver = FALSE
  243. ELSEIF (sz$ = BTN_BACK$) OR (sz$ = BTN_CANCEL$) THEN
  244. UIPop 1
  245. DlgInstallNoDriver = iNO%
  246. bDoInstallNoDriver = FALSE
  247. ELSEIF sz$ = BTN_EXIT$ THEN
  248. DoAskQuit
  249. END IF
  250. WEND
  251. sz$ = ""
  252. END FUNCTION
  253. FUNCTION DlgPrintPage() STATIC AS INTEGER
  254. DIM bDoPrintPage%
  255. bDoPrintPage = TRUE
  256. WHILE bDoPrintPage
  257. FInitInfoDialog
  258. sz$ = UIStartDlg(DLL_CUIDLL$, CONFIG_PAGE, "FInfoDlgProc", HELP_CONFIG_PAGE, "FHelpDlgProc")
  259. IF sz$ = BTN_YES$ THEN
  260. IF mid$(PortAdding$, 9, 3) = mid$(MSG_NOTPRESENT$, 1, 3) THEN
  261. UIPop 1
  262. InfoDlgOneButton BTN_OK$, NO_CONFIG_PAGE, HELP_COMM_ERROR
  263. ELSE
  264. CursorSave% = ShowWaitCursor()
  265. sz$ = GetIniKeyString (INI_WININI$, INI_WINDOWS$, INI_DEVICE$)
  266. i% = FileToComm(GetSymbolValue(SYM_CWDDIR$)+FILE_CONFIGPAGE$, MID$(PortAdding$, 1, 4),HwndFrame())
  267. RestoreCursor CursorSave%
  268. CursorSave% = 0
  269. UIPop 1
  270. IF i% = TRUE THEN
  271. InfoDlgOneButton BTN_OK$, NO_CONFIG_PAGE, HELP_COMM_ERROR
  272. ENDIF
  273. END IF
  274. DlgPrintPage = PRINTER_INFO
  275. bDoPrintPage = FALSE
  276. ELSEIF (sz$ = BTN_NO$) THEN
  277. UIPop 1
  278. DlgPrintPage = PRINTER_INFO
  279. bDoPrintPage = FALSE
  280. ELSEIF sz$ = BTN_EXIT$ THEN
  281. DoAskQuit
  282. END IF
  283. WEND
  284. sz$ = ""
  285. END FUNCTION
  286. FUNCTION DlgNoPrintMgr STATIC AS INTEGER
  287. DIM bDoNoPrintMgr%
  288. DlgNoPrintMgr = 2
  289. bDoNoPrintMgr = TRUE
  290. WHILE bDoNoPrintMgr
  291. FInitInfoDialog
  292. sz$ = UIStartDlg(DLL_CUIDLL$, ENABLE_PM, "FInfoDlgProc", HELP_ENABLE_PM, "FHelpDlgProc")
  293. IF sz$ = BTN_YES$ THEN
  294. UIPop 1
  295. InstallPM% = YES%
  296. DlgNoPrintMgr = 1
  297. bDoNoPrintMgr = FALSE
  298. ELSEIF sz$ = BTN_NO$ THEN
  299. UIPop 1
  300. InstallPM% = NO%
  301. bDoNoPrintMgr = FALSE
  302. ELSEIF sz$ = BTN_EXIT$ THEN
  303. DoAskQuit
  304. END IF
  305. WEND
  306. sz$ = ""
  307. END FUNCTION
  308. SUB DlgInvalidVersionCode STATIC
  309. DIM bDoInvalidVersionCode%
  310. bDoInvalidVersionCode = TRUE
  311. WHILE bDoInvalidVersionCode
  312. FInitInfoDialog
  313. sz$ = UIStartDlg(DLL_CUIDLL$, INVALID_VERSION_CODE, "FConfirmDlgProc", HELP_INVALID_VERSION_CODE, "FHelpDlgProc")
  314. IF (sz$ = BTN_OK$) THEN
  315. UIPop 1
  316. bDoInvalidVersionCode = FALSE
  317. ELSEIF sz$ = BTN_EXIT$ THEN
  318. DoAskQuit
  319. END IF
  320. WEND
  321. sz$ = ""
  322. END SUB
  323. SUB DoInCompatQuit STATIC
  324. FEnableControls FALSE
  325. sz$ = UIStartDlg(DLL_CUIDLL$, INCOMPAT_EXIT, "FQuitDlgProc", HELP_INCOMPAT_EXIT, "FHelpDlgProc")
  326. WHILE sz$ = VAL_REACTIVATE$
  327. sz$ = UIStartDlg(DLL_CUIDLL$, ASKQUIT, "FQuitDlgProc", HELP_ASKQUIT, "FHelpDlgProc")
  328. WEND
  329. IF sz$ = BTN_EXITINSTALL$ THEN
  330. UIPopAll
  331. END
  332. ELSE
  333. UIPop 1
  334. END IF
  335. FEnableControls TRUE
  336. sz$ = ""
  337. END SUB
  338. SUB DoAskQuit STATIC
  339. FEnableControls FALSE
  340. sz$ = UIStartDlg(DLL_CUIDLL$, ASKQUIT, "FQuitDlgProc", HELP_ASKQUIT, "FHelpDlgProc")
  341. WHILE sz$ = VAL_REACTIVATE$
  342. sz$ = UIStartDlg(DLL_CUIDLL$, ASKQUIT, "FQuitDlgProc", HELP_ASKQUIT, "FHelpDlgProc")
  343. WEND
  344. IF sz$ = BTN_EXITINSTALL$ THEN
  345. UIPopAll
  346. CleanUp
  347. END
  348. ELSE
  349. UIPop 1
  350. END IF
  351. FEnableControls TRUE
  352. sz$ = ""
  353. END SUB
  354. SUB Box (message$, title$) STATIC
  355. iRet% = DoMsgBox (message$, title$, iMB_OKCANCEL)
  356. IF iRet% = iIDCANCEL% THEN
  357. DoAskQuit
  358. END IF
  359. END SUB
  360. SUB InfoDlgOneButton(szText$, idDlg%, idHelpDlg%) STATIC
  361. DIM bDoLoop%
  362. bDoLoop = TRUE
  363. WHILE bDoLoop
  364. FInitInfoDialog
  365. sz$ = UIStartDlg(DLL_CUIDLL$, idDlg%, "FInfoDlgProc", idHelpDlg%, "FHelpDlgProc")
  366. IF (sz$ = szText$) THEN
  367. UIPop 1
  368. bDoLoop = FALSE
  369. ELSEIF sz$ = BTN_EXIT$ THEN
  370. DoAskQuit
  371. END IF
  372. WEND
  373. sz$ = ""
  374. END SUB
  375. SUB InfoDlgAOneButton(szText$, idDlg%, idHelpDlg%) STATIC
  376. DIM bDoLoop%
  377. bDoLoop = TRUE
  378. WHILE bDoLoop
  379. sz$ = UIStartDlg(DLL_CUIDLL$, idDlg%, "FInfoDlgProc", idHelpDlg%, "FHelpDlgProc")
  380. IF (sz$ = szText$) THEN
  381. UIPop 1
  382. bDoLoop = FALSE
  383. ELSEIF sz$ = BTN_EXIT$ THEN
  384. DoAskQuit
  385. END IF
  386. WEND
  387. sz$ = ""
  388. END SUB
  389. SUB ToggleCheckStatus (CheckList$, ftype%) STATIC
  390. if GetListItem (CheckList$, ftype%) = VAL_CHKOFF$ then
  391. ReplaceListItem CheckList$, ftype%, VAL_CHKON$
  392. else
  393. ReplaceListItem CheckList$, ftype%, VAL_CHKOFF$
  394. end if
  395. END SUB
  396. SUB SetSpaceStatus() STATIC
  397. TotalInstallSize = 0
  398. FOR i% = 1 TO MAX_COMPONENT
  399. TotalInstallSize = TotalInstallSize + dwComponentSize(i%)
  400. NEXT i%
  401. ReplaceListItem SYM_CUSTOMSTATUSTEXT$, REQUIREDPOS, DollarFormat(TotalInstallSize/1024)
  402. DiskSpaceFree = GetFreeSpaceForDrive(WinSysDrive$)
  403. ReplaceListItem SYM_CUSTOMSTATUSTEXT$, AVAILPOS, DollarFormat(DiskSpaceFree/1024)
  404. END SUB
  405. SUB DeleteDir(szDir$) STATIC
  406. CLEARLIST
  407. SETFILE szDir$+"\*.*", ON
  408. FOR FileName$ IN FILELIST
  409. junk% = YnrcRemoveFile(FileName$, 256)
  410. NEXT
  411. IF Mid$(GetSymbolValue (SYM_CWDDIR$), 1, 1) <> Mid$(szDir$, 1, 1) THEN
  412. ChDir Mid$(szDir$, 1, 2) + ".."
  413. END IF
  414. RmDir szDir$
  415. FileName$ = ""
  416. END SUB
  417. FUNCTION GetTempDirName STATIC AS STRING
  418. tmpPath$ = STRING$(32,MAXPATH)
  419. tmpCode% = GetTempFileName (0, "zzz", 0, tmpPath$)
  420. KILL tmpPath$
  421. SPLITPATH tmpPath$,tmpDrv$,tmpDir$,tmpName$,tmpExt$
  422. if LEN(tmpDir$) > 1 THEN
  423. tmpDir$ = MID$(tmpDir$,1,LEN(tmpDir$)-1)
  424. END IF
  425. GetTempDirName = tmpDrv$ + tmpDir$
  426. tmpPath$ = ""
  427. tmpDrv$ = ""
  428. tmpDir$ = ""
  429. tmpName$ = ""
  430. tmpExt$ = ""
  431. END FUNCTION
  432. FUNCTION InvalidVersionCode(lCode as LONG) STATIC AS INTEGER
  433. DIM iDigit1%, iDigit2%, iDigit3%, iDigit4%, iCheckDigit%
  434. DIM lCart&, lCompat&
  435. InvalidVersionCode = TRUE
  436. iCheckDigit% = lCode MOD 10
  437. lCart = lCode / 100
  438. lCompat = lCode MOD 100
  439. lCode = lCode / 10
  440. iDigit1% = lCode MOD 10
  441. lCode = lCode / 10
  442. iDigit2% = lCode MOD 10
  443. lCode = lCode / 10
  444. iDigit3% = lCode MOD 10
  445. lCode = lCode / 10
  446. iDigit4% = lCode MOD 10
  447. IF (iDigit4% < 10) AND (lCart >= lCompat) THEN
  448. iCalcDigit% = iDigit4% + iDigit3% * 3 + iDigit2% * 5 + iDigit1% * 7
  449. IF (iCheckDigit% = (iCalcDigit% MOD 10)) THEN
  450. InvalidVersionCode = FALSE
  451. END IF
  452. END IF
  453. END FUNCTION
  454. FUNCTION SumNumericList (List$, first%, last%) STATIC AS LONG
  455. IF last% = 0 THEN
  456. last% = GetListLength (List$)
  457. END IF
  458. sum& = 0
  459. FOR j% = first% TO last%
  460. sum& = sum& + VAL(GetListItem(List$, j%))
  461. NEXT j%
  462. SumNumericList = sum&
  463. END FUNCTION
  464. SUB CleanUp() STATIC
  465. CursorSave% = ShowWaitCursor
  466. FRemoveValFromIniKey INI_WININI$, INI_WINDOWS$, INI_RUN$, INI_TESTPAGE$
  467. szDir$ = WinDir$+TestPageDir$
  468. IF FDirExists(szDir$) <> 0 THEN
  469. DeleteDir szDir$
  470. END IF
  471. RestoreCursor(CursorSave%)
  472. szDir$ = ""
  473. END SUB
  474. FUNCTION itoa (x&) STATIC AS STRING
  475. s$ = STR$(x&)
  476. if x& >= 0 THEN
  477. s$ = MID$(s$,2)
  478. END IF
  479. itoa = s$
  480. END FUNCTION
  481. FUNCTION DollarFormat (num&) STATIC AS STRING
  482. szThousand$ = GetIniKeyString (INI_WININI$, INI_INTL$, INI_THOUSAND$)
  483. sz$ = STR$(num&)
  484. i% = Len (sz$)
  485. szResult$ = Mid$(sz$, i%, 1)
  486. for j% = i%-1 to 2 step -1
  487. if (i% - j%) Mod 3 = 0 then
  488. szResult$ = szThousand$ + szResult$
  489. end if
  490. szResult$ = Mid$(sz$, j%, 1) + szResult$
  491. next j%
  492. DollarFormat = szResult$
  493. szThousand$ = ""
  494. sz$ = ""
  495. END FUNCTION
  496. SUB ResetStepStack STATIC
  497. iTopItem = 0
  498. END SUB
  499. FUNCTION PushStep(iCurStep%, iNextStep%) STATIC AS INTEGER
  500. DIM iIdx%, bNotExist%, bDoLoop%
  501. IF iTopItem > MAX_STACK_ITEM THEN
  502. PushStep = FALSE
  503. ELSE
  504. iStepStack(iTopItem) = iCurStep
  505. iTopItem = iTopItem + 1
  506. PushStep = TRUE
  507. END IF
  508. END FUNCTION
  509. FUNCTION PopStep() STATIC AS INTEGER
  510. IF iTopItem <= 0 THEN
  511. PopStep = -1
  512. ELSE
  513. iTopItem = iTopItem - 1
  514. PopStep = iStepStack(iTopItem)
  515. END IF
  516. END FUNCTION
  517.